﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace Vara.Location
{
    public interface ILocationActions
    {
        /// <summary>
        /// Inserts a <code>Vara.Location.ILocation</code> object
        /// </summary>
        /// <param name="location"></param>
        ILocation InsertLocation(ILocation location);

        /// <summary>
        /// Updates a <code>Vara.Location.ILocation</code> object 
        /// </summary>
        /// <param name="location"></param>
        void UpdateLocation(ILocation location);

        /// <summary>
        /// Deletes a <code>Vara.Location.ILocation</code> object
        /// </summary>
        /// <param name="location"></param>
        void DeleteLocation(ILocation location);


        /// <summary>
        /// Returns a a <code>Vara.Location.ILocation</code> object by its unique identifier
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        ILocation ReturnLocation(int id, bool isInternal);

        void Refresh_Locations_List();
        DataTable Search_Locations(string SearchCriteria);

        List<ILocation> Locations{get;}
    }
}
